package com.hnfnu.service;

import com.hnfnu.protocol.dto.*;
import com.hnfnu.entity.Donations;
import com.hnfnu.protocol.vo.DonationsGoalAndRaisedVO;
import com.hnfnu.protocol.vo.NumberOfDonorsVO;

import java.util.List;

public interface DonationsService{
    boolean save(Donations donations);

    List<DonationsPageDTO> getDonationsPage();

    List<DonationsIntervalDTO> getIntervalNUmber();

    List<DonationsProvinceDTO> getProvinceNumber();

    List<DonationsMonthTrendDTO> getMonthTrend();

    List<DonationsProjectNameAmountsDTO> getProjectAmounts();

    Double getTotalAmount();
    Integer getMaleNumber();

    List<DonationsSatisfactionDTO> getSatisfaction();

    boolean addSatisfaction(Integer grade);

    List<DonationsPurposeDTO> getPurposeTotalAmount();

    List<DonationsPurposeDetailPercentDTO> getPurposeDetailPercent();

    NumberOfDonorsVO getNumberOfDonors(Integer projectId);


    String getUserNameByUserId(Integer userId);

    Donations getByTrade(String trade);

    void updateStatus(String tradeNo);

    Double getRaised(Integer projectId);

    List<DonationsOrderByTimeDTO> selectAmountAndUserIdOrderByTime(Integer projectId);

    void updateSpendByUserIdAndProjectId(Integer userId, Integer projectId);

    int getFemaleNumber();

    int getAgeInvalNumber(int i, int i1);

    int getTotalNumberOfUsers();

    int getProjectStageNumber(String start);

    double getWeekDonationNum();
}
